草庐IT

c++ - const char * 和 char *

全部标签

c - 用 GDI 绘制 opengl/D3D?

我想知道是否可以使用GDI在opengl/direct3D表面上绘制?如果是这样,应该怎么做?我问的原因是因为我正在编写一个简单的应用程序来在游戏中绘制一些东西。这些东西都是2D或文本,例如帧率信息、自定义十字准线、时钟等。我知道最好的方法是Hook并使用渲染器/游戏native使用的任何内容,无论是opengl还是direct3d,但我正在查看GDI,因为AFAIKopengl和D3D都位于我正在使用的设备上下文中希望可以用GDI画出来。 最佳答案 你通常不能直接这样做。理论上,当且仅当OpenGL/DirectX绘图是使用单缓冲

c++ - 拦截鼠标输入

我想知道是否有一种方法可以在鼠标输入到达窗口之前对其进行拦截和修改?我想要做的是拦截鼠标运动事件,对值应用一些自定义缩放和加速,然后继续传递它们。在输入到达原始输入API或DirectInput之前,我需要一些可以执行此操作的东西。 最佳答案 为了在登录和SAS屏幕等期间影响所有鼠标输入,包括DirectInput,您需要将过滤器驱动程序加载到鼠标驱动程序堆栈中。其他人也做过,比如http://www.maf-soft.de/mafmouse/WindowsDDK中应该有一个moufiltr示例,您可以将其用作起点。您很可能希望使用

c++ - COM 函数生成不会消失的线程

我正在开发一个小型应用程序,该应用程序旨在调用一些(非常多样化的)功能,遗憾的是这些功能超出了我的控制范围,并且设计的方式让我不知道何时完成了正确的用户操作。特别是其中一些会产生一个线程来完成它们的工作,最终会在未来的某个时刻死亡。所以有些是同步实现的,有些是异步实现的,我的代码不知道它会是哪一个。我的应用程序的唯一目的是启动这些任务并在完成后终止。由于目的是自动化,我预计它会在短时间内从批处理文件中调用100次,所以我不希望这个过程停留的时间超过绝对可能的时间。因为我没有可以等待的信号,我的主线程上的ExitThread()似乎是可行的方法,这样由外部代码产生的任何线程最终都会终止进

c++ - 修剪我的 "working set"对没有页面文件的系统有什么影响?

一位客户提示我的程序使用了太多内存。然而,在与他们合作一段时间后,我意识到:他们关闭了页面文件(在他们的终端服务框中)。他们担心我程序的任务管理器中“私有(private)工作集”的大小。所以,我的问题是,如果我只是在我的程序启动后使用EmptyWorkingSet()修剪工作集的大小(它在XML解析期间使用大量内存但随后将其删除,但工作集不会似乎下降了)我可以让工作集数字下降。然而,这真的能帮助客户吗?我有一种感觉,这只是意味着工作集将被分页,我相信如果您关闭了页面文件,工作集无论如何都会由实际内存支持....任务管理器报告的“私有(private)工作集”真的是我的程序有多少新的/

c - C 中的 Windows 用户主文件夹 (MinGW)

我正在尝试将用C编写的应用程序从Linux移植到Windows。目前,我已经完成了“硬”部分的修复工作,例如missingposixfeatures之类的。应用程序现在可以在Windows上编译、链接和运行(fork()除外,稍后将替换为Windows服务代码)。我现在遇到的唯一问题是在MSYSshell中一切正常(这为我映射了unix路径)。在MSYSshell之外它不会工作,因为~不可用。我正在寻找在我的#ifdef内容中设置Windows用户主页的最佳方法。我在某处读到过关于%USERPROFILE%的内容,但这似乎不是work. 最佳答案

c - Windows 控制台 API

我在windows编程方面经验不足,想知道apiwindows使用什么在c中制作文本用户界面,就像ncurses在基于unix的系统上所做的那样。它是win32api的一部分吗?我在哪里可以获得更多信息? 最佳答案 有windowsconsoleapi.而且,你总能得到ncursesforwindows. 关于c-Windows控制台API,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c - 如何在Windows中获取操作系统名称,版本?

在windows中获取操作系统名称,操作系统版本在以下几个方面哪个更好-获取信息的时间兼容所有Windows操作系统,如xp、vista和更高版本系统信息或wmic命令?我想避免在C中使用OSVersionInfoEx,因为必须对营销名称检测进行硬编码,并且如果引入了新的Windows版本,将会增加维护工作。请分享您的意见。 最佳答案 GetVersionEx-获取基本操作系统版本号的速度再快不过了。但你是对的,你将无法将较新版本的操作系统映射到正确的字符串。您是否考虑过这样做:OSVERSIONINFOEXversion={};c

c - 在驱动程序和 Windows 服务之间传递数据

将数据从设备驱动程序传递到Windows服务并返回的最干净的方法是什么? 最佳答案 这通常是使用DeviceInputandOutputControl(IOCTL)实现的.您可以定义自己的私有(private)控制码,然后双向发送信息。该函数是从用户模式调用的,即您的服务。 关于c-在驱动程序和Windows服务之间传递数据,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6152

C 异常处理

我想知道如何在C中处理异常,特别是EXCEPTION_GUARD_PAGE异常。我将尝试更简要地解释一下情况:我想将一个部分/页面部分标记为PAGE_GUARD,每当程序遇到它们时我想执行一些任务,我尝试使用经典的VirtualAlloc引起异常->Write->Exception命中但我知道在C中捕获异常非常感谢您的帮助。提前致谢。 最佳答案 MSDN拥有您需要的一切:UsinganExceptionHandlerThetry-exceptStatement在这种特殊情况下,您需要这样的东西:__try{/*Codethatmay

客户端连接失败

我是一名新手/初级程序员,在使用一些简单的客户端/服务器C代码时遇到问题。我的最终目标是将方位角/仰角数据的“流”从服务器发送到客户端,然后在接收到该数据时对其进行转换(这只是一个除法,但我真的不知道该怎么做任一)转换为平移/俯仰装置的位置数据,然后通过串口将转换后的数据输出到平移/俯仰云台。(稍后我可能会回来询问...)现在我只是想弄清楚如何发送和接收数据。我从这个网站上抓取了代码。http://www.tenouk.com/Winsock/Winsock2example3.html.我必须四处移动一些声明才能编译代码。我在客户端电脑上使用Windows7和VS2010专业版。客户端